package com.fuxi.cloud.desreport.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * JmReportMap
 *
 * @Author: 扫地僧
 * @CreateTime: 2021-05-03
 */
public class JmReportMap {
    private String id;
    @Excel(
            name = "地图编码",
            width = 15.0D
    )
    private String name;
    @Excel(
            name = "地图名称",
            width = 15.0D
    )
    private String label;
    @Excel(
            name = "地图数据",
            width = 15.0D
    )
    private String data;
    @Excel(
            name = "创建人",
            width = 15.0D
    )
    private String createBy;
    @Excel(
            name = "创建时间",
            width = 20.0D,
            format = "yyyy-MM-dd HH:mm:ss"
    )
    @JsonFormat(
            timezone = "GMT+8",
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @DateTimeFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    private Date createTime;
    @Excel(
            name = "修改人",
            width = 15.0D
    )
    private String updateBy;
    @Excel(
            name = "修改时间",
            width = 20.0D,
            format = "yyyy-MM-dd HH:mm:ss"
    )
    @JsonFormat(
            timezone = "GMT+8",
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @DateTimeFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    private Date updateTime;
    @Excel(
            name = "0表示未删除,1表示删除",
            width = 15.0D
    )
    private String delFlag;
    private String reportId;

    public JmReportMap() {
    }

    public String getId() {
        return this.id;
    }

    public String getName() {
        return this.name;
    }

    public String getLabel() {
        return this.label;
    }

    public String getData() {
        return this.data;
    }

    public String getCreateBy() {
        return this.createBy;
    }

    public Date getCreateTime() {
        return this.createTime;
    }

    public String getUpdateBy() {
        return this.updateBy;
    }

    public Date getUpdateTime() {
        return this.updateTime;
    }

    public String getDelFlag() {
        return this.delFlag;
    }

    public String getReportId() {
        return this.reportId;
    }

    public JmReportMap setId(String id) {
        this.id = id;
        return this;
    }

    public JmReportMap setName(String name) {
        this.name = name;
        return this;
    }

    public JmReportMap setLabel(String label) {
        this.label = label;
        return this;
    }

    public JmReportMap setData(String data) {
        this.data = data;
        return this;
    }

    public JmReportMap setCreateBy(String createBy) {
        this.createBy = createBy;
        return this;
    }

    @JsonFormat(
            timezone = "GMT+8",
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    public JmReportMap setCreateTime(Date createTime) {
        this.createTime = createTime;
        return this;
    }

    public JmReportMap setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
        return this;
    }

    @JsonFormat(
            timezone = "GMT+8",
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    public JmReportMap setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
        return this;
    }

    public JmReportMap setDelFlag(String delFlag) {
        this.delFlag = delFlag;
        return this;
    }

    public JmReportMap setReportId(String reportId) {
        this.reportId = reportId;
        return this;
    }

    @Override
    public String toString() {
        return "JmReportMap(id=" + this.getId() + ", name=" + this.getName() + ", label=" + this.getLabel() + ", data=" + this.getData() + ", createBy=" + this.getCreateBy() + ", createTime=" + this.getCreateTime() + ", updateBy=" + this.getUpdateBy() + ", updateTime=" + this.getUpdateTime() + ", delFlag=" + this.getDelFlag() + ", reportId=" + this.getReportId() + ")";
    }

    @Override
    public boolean equals(Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof JmReportMap)) {
            return false;
        } else {
            JmReportMap var2 = (JmReportMap)o;
            if (!var2.canEqual(this)) {
                return false;
            } else {
                String var3 = this.getId();
                String var4 = var2.getId();
                if (var3 == null) {
                    if (var4 != null) {
                        return false;
                    }
                } else if (!var3.equals(var4)) {
                    return false;
                }

                String var5 = this.getName();
                String var6 = var2.getName();
                if (var5 == null) {
                    if (var6 != null) {
                        return false;
                    }
                } else if (!var5.equals(var6)) {
                    return false;
                }

                String var7 = this.getLabel();
                String var8 = var2.getLabel();
                if (var7 == null) {
                    if (var8 != null) {
                        return false;
                    }
                } else if (!var7.equals(var8)) {
                    return false;
                }

                label110: {
                    String var9 = this.getData();
                    String var10 = var2.getData();
                    if (var9 == null) {
                        if (var10 == null) {
                            break label110;
                        }
                    } else if (var9.equals(var10)) {
                        break label110;
                    }

                    return false;
                }

                label103: {
                    String var11 = this.getCreateBy();
                    String var12 = var2.getCreateBy();
                    if (var11 == null) {
                        if (var12 == null) {
                            break label103;
                        }
                    } else if (var11.equals(var12)) {
                        break label103;
                    }

                    return false;
                }

                Date var13 = this.getCreateTime();
                Date var14 = var2.getCreateTime();
                if (var13 == null) {
                    if (var14 != null) {
                        return false;
                    }
                } else if (!var13.equals(var14)) {
                    return false;
                }

                label89: {
                    String var15 = this.getUpdateBy();
                    String var16 = var2.getUpdateBy();
                    if (var15 == null) {
                        if (var16 == null) {
                            break label89;
                        }
                    } else if (var15.equals(var16)) {
                        break label89;
                    }

                    return false;
                }

                label82: {
                    Date var17 = this.getUpdateTime();
                    Date var18 = var2.getUpdateTime();
                    if (var17 == null) {
                        if (var18 == null) {
                            break label82;
                        }
                    } else if (var17.equals(var18)) {
                        break label82;
                    }

                    return false;
                }

                String var19 = this.getDelFlag();
                String var20 = var2.getDelFlag();
                if (var19 == null) {
                    if (var20 != null) {
                        return false;
                    }
                } else if (!var19.equals(var20)) {
                    return false;
                }

                String var21 = this.getReportId();
                String var22 = var2.getReportId();
                if (var21 == null) {
                    if (var22 != null) {
                        return false;
                    }
                } else if (!var21.equals(var22)) {
                    return false;
                }

                return true;
            }
        }
    }

    protected boolean canEqual(Object other) {
        return other instanceof JmReportMap;
    }

    @Override
    public int hashCode() {
        boolean var1 = true;
        byte var2 = 1;
        String var3 = this.getId();
        int var13 = var2 * 59 + (var3 == null ? 43 : var3.hashCode());
        String var4 = this.getName();
        var13 = var13 * 59 + (var4 == null ? 43 : var4.hashCode());
        String var5 = this.getLabel();
        var13 = var13 * 59 + (var5 == null ? 43 : var5.hashCode());
        String var6 = this.getData();
        var13 = var13 * 59 + (var6 == null ? 43 : var6.hashCode());
        String var7 = this.getCreateBy();
        var13 = var13 * 59 + (var7 == null ? 43 : var7.hashCode());
        Date var8 = this.getCreateTime();
        var13 = var13 * 59 + (var8 == null ? 43 : var8.hashCode());
        String var9 = this.getUpdateBy();
        var13 = var13 * 59 + (var9 == null ? 43 : var9.hashCode());
        Date var10 = this.getUpdateTime();
        var13 = var13 * 59 + (var10 == null ? 43 : var10.hashCode());
        String var11 = this.getDelFlag();
        var13 = var13 * 59 + (var11 == null ? 43 : var11.hashCode());
        String var12 = this.getReportId();
        var13 = var13 * 59 + (var12 == null ? 43 : var12.hashCode());
        return var13;
    }
}

